Frontend App Manifest
manifest.json identifies the app and controls how Corva runs it. The scaffolder creates this file from the values registered in Dev Center.
Generated example
{
"format": 1,
"license": {
"type": "MIT",
"url": "https://example.com/license"
},
"developer": {
"name": "Example Company",
"identifier": "example-company",
"authors": []
},
"application": {
"type": "ui",
"key": "example-company.operations-overview.ui",
"visibility": "private",
"name": "Operations Overview",
"description": "Monitor current operational data.",
"summary": "A dashboard app for current operations.",
"category": "analytics",
"website": "https://example.com/operations-overview",
"segments": ["drilling"],
"ui": {
"initial_size": {
"w": 4,
"h": 10
},
"multi_rig": false,
"full_screen_report": false,
"use_app_header_v3": true
}
},
"settings": {
"entrypoint": {
"file": "src/index.js",
"function": "handler"
},
"environment": {},
"runtime": "ui"
},
"datasets": {}
}
JSON does not support comments. Keep explanatory notes outside the file.
Identity and discovery
| Field | Purpose | Change carefully? |
|---|---|---|
application.type | Must be ui for a frontend app | Do not change |
application.key | Registered identifier used for packages and app instances | Do not change |
application.name | Customer-facing name | Yes |
application.description | Full app description | Yes |
application.summary | Short store and discovery summary | Yes |
application.category | App-store category | Coordinate with the registered app |
application.visibility | App visibility | Manage through the supported publishing flow |
Segment
Use one operational segment for a focused customer experience:
"segments": ["drilling"]
or:
"segments": ["completion"]
Corva UI uses the segment to select the primary assets and header behavior. Drilling maps to a rig and well; completion maps to a frac fleet, pad, and wells.
UI fields
| Field | Purpose |
|---|---|
initial_size.w | Initial dashboard width in a 12-column grid |
initial_size.h | Initial dashboard height in grid units |
multi_rig | Removes normal single-asset assumptions; the app must load its own asset scope |
full_screen_report | Uses the full report page when exporting dashboard PDF output |
use_app_header_v3 | Enables the current AppHeader implementation |
multi_rig_on_chipless_dashboard | Applies multi-rig behavior only on chipless dashboards |
Keep use_app_header_v3 set to true for new apps.
Completion-only fields
| Field | Purpose |
|---|---|
completionAppType | Selects the supported pad, frac, wireline, pumpdown, single-well, or multi-well modes |
enableSimulFracInPadSelect | Adds frac-fleet line selection when SimulFrac relationships are available |
disableActiveWellsInPadSelect | Prevents selection of wells that are not active |
The default completionAppType in Corva UI is Frac Multi-Well Apps.
See Build a Completion UI App before changing these fields.
Entrypoint
The frontend entrypoint should remain:
{
"entrypoint": {
"file": "src/index.js",
"function": "handler"
},
"runtime": "ui"
}
The generated build and package flow relies on this shape.